import static org.junit.Assert.*;

public class CalculatorTest {

    @org.junit.Before   // 注解, Java的特性, 会使代码有一些特殊的能力
    public void setUp() throws Exception
    {
        // 设置
    }

    @org.junit.After
    public void tearDown() throws Exception
    {
        // 清理
    }
    // 上面的两个方法等以后需要测试的方法多的时候就能排上用场了


    @org.junit.Test
    public void plus()
    {
        // assert: 断言, JUnit中的断言都是以assert开头的
        assertEquals(5, Calculator.plus(2, 3));
        // assertEquals();需要两个参数 (预期的值, 实际测试出来的方法返回的数据是多少)

        // 怎么执行测试, 怎么看测试的结果... 下半节课的内容了


        /*
            1.要想运行测试, 需要先进行配置(右上角小锤子旁边就是配置的地方)
            2.配置:
                -点击配置
                -点击左上角的加号添加JUnit, 给配置起名, Class中传如需要测试的类(输入框的右侧有快捷选择)
                -如果是老版本的话, 由Code Coverage选项, Simpling(采样测试) Tracing(跟踪测试), 下面的Packages and Classes include in coverage data 选择需要测试的类
                -没有的话老师说可以不填(其实新版本也有, 修改选项设置这个蓝色字点击就能看到有关代码覆盖率的设置)
            3.点击Debug右侧的盾牌状的运行突变运行测试
         */
    }

    @org.junit.Test
    public void sub()
    {
        assertEquals(6, Calculator.sub(10, 4));
        // 对某一个方法进行单元测试,没通过,不一定是原程序代码的问题,
        // 比如上面, 传入10, 4 = 6, 但是我第一个参数写成了7, 那么也会导致测试不通过.
        // (6, ...(10 , 4)), 也不通过, 控制台显示6   14, 这回是原代码把-写成+了
        // 单元测试很有用, 代码一多, 代码变更 都可能会导致很多错误, 人工检查效率低, 所以要使用JUnit进行单元测试

        // 我刚写完sub里面的单元测试后, 点击运行弹出一个对话框, 我选的蓝色的按钮, 老师上课时候没有弹出这个对话框, 应该还是不是很重要的东西吧0.0

    }

    /*
        课堂最后的部分, 讲了复杂一点的情况下, 单元测试怎么去用
     */

}